草庐IT

Java AES 加盐加密

全部标签

java - 如何使用 Rijndael 和 256 位的 block 大小进行加密或解密?

出于某些原因,我需要使用256位block大小而不是使用128位block大小的AES实现Rijndael解压(原因:数据在PHP中使用Rijndael加密...)。如何更改密码的block大小?如果我只是用"RIJNDAEL/CFB/PKCS5Padding"获得密码并尝试用256位初始化IV,我会得到一个异常,因为block大小只有128位。 最佳答案 除了具有128位block大小的Rijndael之外,任何SunJCE供应商都不支持任何算法:这是AES算法。要获得具有256位block大小的rijndael,您将不得不去其他

java - 如何使用另一个字符串作为密码加密/解密一个字符串?

我正在制作一个简单的程序,它接受在一个文本框中输入的文本,并接受另一个文本框中的密码,然后对其进行某种简单的加密并将其保存到一个文件中。之后,用户应该能够再次打开该文件并提供用于加密它的密码,它应该会吐出原始文本。现在我正在拿绳子。把它分成一个字符数组,然后对密码做同样的事情。之后,我获取密码,将所有这些字符转换为整数,找到所有这些的平均值,并将其用作原始文本中字符的偏移量。有点像:textChars[1]=(char)((int)textChars[1]+offset);然后我可以对加密字符串做相反的操作:encryptedChars[1]=(char)((int)encrypted

AAX影响力实验室探究加密产业对各行业的影响

作为领先的加密平台之一,AAX最近宣布推出AAX影响力实验室(AAXImpactLab),专注于促进加密和区块链领域的创新。AAX影响力实验室是一个关注于合作研究的团队,致力于探索和分享数字资产让世界变得更美好的新方式,希望通过强调这项技术解决的重要社会和环境问题来促进有意义的加密采用。AAX影响力实验室定期按主题发布不同的报告,系统地深入研究加密产业对各个行业带来的影响。目前,AAX影响力实验室已经发布了三份重磅的主题报告,分别是:《NFT在社群中的影响力》、《NFT对环境、社会责任和公司治理(ESG)影响力》、《NFT与音乐—解放音乐人身上的枷锁》。NFT在社群中的影响力随着越来越多人加入

Java密码加密

我正在尝试学习如何使用Java进行基于密码的加密。我在网上找到了几个例子,但在StackOverflow上还没有。这些例子对我来说有点解释,特别是关于算法选择。似乎有很多传递字符串来说明使用什么算法,但很少有文档说明字符串的来源及其含义。而且似乎不同的算法可能需要KeySpec类的不同实现,所以我不确定哪些算法可以使用我正在查看的PBEKeySpec类。此外,这些示例似乎都有些过时,许多示例要求您获得以前不属于JDK甚至第三方实现的较旧的加密包。谁能简单介绍一下我需要做什么来实现加密(字符串数据,字符串密码)和解密(字节[]数据,字符串密码)? 最佳答案

java - 使用java加密整数

我正在尝试使用java.security和javax.crypto在java中加密一些整数。问题似乎是Cipher类只加密字节数组。我不能直接将整数转换为字节字符串(我可以吗?)。执行此操作的最佳方法是什么?我是否应该将整数转换为字符串并将字符串转换为byte[]?这看起来效率太低了。有谁知道快速/简单或有效的方法吗?请告诉我。提前致谢。jbu 最佳答案 您可以使用DataOutputStream将int转换为byte[],如下所示:ByteArrayOutputStreambaos=newByteArrayOutputStream

java - Java 中的加密和解密

我想将加密的密码存储在Java文件中。我看到了一个使用javax.crypto的解决方案,但问题是关键是动态生成的,它是随机的。此密码将在运行时在Java程序中被获取和解密。鉴于我要将一个已经加密的密码存储在一个文件中——我想得到解密时的正确文本。有没有办法告诉javax.crypto方法:key=KeyGenerator.getInstance(algorithm).generateKey()这可以用我自己根据某个私钥生成一次的key代替吗?任何人都可以为我提供一些有关如何执行此操作的资源吗? 最佳答案 这是一个使用javax.c

前端常用加密方式及使用

前端常用加密方式有RSA加密、AES加密、MD5加密、SHA256加密以及国密:/生成随机字符串functionrandomString(len){len=len||16;const$chars='ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';/****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/constmaxPos=$chars.length;letpwd='';for(leti=0;i一、AES加密:安全性AES加密:对称性加密(密钥1个,加解密都用这个密钥)AES为一次一密,每次加密都会生成新的密钥AES加密

java - 当 Keystore 是 USB 加密 token 时如何从 Keystore.load 抑制 PIN 错误对话框

您好,我正在使用SUNPKCS11实现来执行USB密码token中的PKI证书操作我为特定的USBtoken创建了一个提供者对象,然后调用Keystoreks=KeyStore.getInstance(PKCS11_KEYSTORE_TYPE,prov);然后我加载它keyStore.load(null,PIN.toCharArray())PIN是用户为特定证书输入的PIN现在,当由于错误的PIN导致加载失败时,不同的加密代币表现不同。Keystore::load当PIN错误时抛出IOException,例如握奇USBtoken首先抛出一个对话框,提示“PIN是错误的。还剩X次尝试”,

java - 是否有一种实用的方法来确定正在使用哪些 JCE 加密提供程序?

我们已将Java产品配置为仅使用经FIPS验证的RSAJCE加密提供程序。但是,当只有RSA库在java.security中列出时,该产品将无法工作。因此,有些东西正在向其他提供商请求非FIPS算法。通过排除过程,我们可以知道哪些jar是成功操作所必需的,但这并没有告诉我们正在请求哪些算法,或者由谁请求。这似乎是一个常见问题,但显然我们没有找到正确的文档或Google搜索字符串:是否有任何可靠、方便且一致的机制来确定哪些JCE提供程序正在使用运行JVM实例? 最佳答案 您可以使用Security.getProviders()枚举提供

使用 cryptojs 的 Java 到 JS 和 JS 到 Java 加密

我几周前开始写这篇文章并且工作得很好:CompatibleAESalgorithmforJavaandJavascript现在,我需要进行反向操作,但是在java中,我得到了这个异常:javax.crypto.BadPaddingException:Givenfinalblocknotproperlypaddedatcom.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:966)atcom.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:824)atcom.sun